package com.qwz.failover;

import com.qwz.failover.template.DbLogTemplate;
import com.qwz.failover.template.FileLogTemplate;

/**
* @Description: 日志记录的上下文
* @Package com.qwz.failover.LogContent
* @author Qiuwuzhi
* @date 2019/12/25 14:27
* @version V1.0
*/
public class LogContent {
    /**
     * 记录日志的方法，提供给客户端使用
     * @param msg
     */
    public void log(String msg){
        //在上下文中，自行实现对策略的选择
        //优先选用策略，记录到数据库
//        LogStrategy strategy = new DbLog();
        LogStrategy strategy = new DbLogTemplate();
        try {
            strategy.log(msg);
        }catch (Exception e){
            //出错了，记录到文件中
//            strategy = new FileLog();
            strategy = new FileLogTemplate();
            strategy.log(msg);
        }

    }
}
